fix: display shell output as static text instead of spinner#6041
Merged
alexhancock merged 1 commit intoblock:mainfrom Dec 16, 2025
Merged
fix: display shell output as static text instead of spinner#6041alexhancock merged 1 commit intoblock:mainfrom
alexhancock merged 1 commit intoblock:mainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR fixes a bug where shell command output (like device codes from gh auth login) was being displayed as spinner messages, causing critical information to be hidden. The fix extracts the notification type from MCP logging messages and prints shell_output directly as static text, following the same pattern used for task_execution notifications.
Key changes:
- Added notification type extraction for MCP notifications with
outputfield - Implemented dedicated handling for
shell_outputnotification type to display output as static text without spinner interference
1 task
Contributor
Author
|
Related:
Context: This PR fixes streaming shell output being hidden in spinners during command execution. |
alexhancock
approved these changes
Dec 12, 2025
alexhancock
approved these changes
Dec 12, 2025
Collaborator
|
If you can do the DCO check we can merge https://github.com/block/goose/pull/6041/checks?check_run_id=57941985111 |
Shell command output (like device codes from 'gh auth login') was being displayed as spinner messages, causing critical information to be hidden. This fix extracts the notification type and prints shell_output directly as static text, following the same pattern as task_execution notifications. The conditional logic was simplified to avoid duplicate println calls between interactive and non-interactive modes. Partial fix for block#3196 Signed-off-by: Hugues Clouâtre <hugues@linux.com>
1afa1c5 to
adbaeca
Compare
Contributor
Author
|
@alexhancock DCO fixed and all checks passing now. Thanks for the quick reviews! |
Collaborator
|
@clouatre Nice - thanks! |
zanesq
added a commit
that referenced
this pull request
Dec 16, 2025
…s-predefined-models * 'main' of github.com:block/goose: (81 commits) fix: display shell output as static text instead of spinner (#6041) fix : Custom providers with empty API keys show as configured in desktop (#6105) Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139) fix: use instructions for system prompt and prompt for user message in subagents (#6121) Fix compaction loop for small models or large input (#5803) feat: Centralize theme management with ThemeContext (#6137) OpenRouter & Xai streaming (#5873) fix: resolve mcp-hermit cleanup path expansion issue (#5953) feat: add goose PR reviewer workflow (#6124) perf: Avoid repeated MCP queries during streaming responses (#6138) Fix YAML serialization for recipes with special characters (#5796) Add more posthog analytics (privacy aware) (#6122) docs: add Sugar MCP server to extensions registry (#6077) Fix tokenState loading on new sessions (#6129) bump bedrock dep versions (#6090) Don't persist ephemeral extensions when resuming sessions (#5974) chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /ui/desktop (#5939) chore(deps): bump node-forge from 1.3.1 to 1.3.2 in /documentation (#5898) Add Scorecard supply-chain security workflow (#5810) Don't show subagent tool when we're a subagent (#6125) ... # Conflicts: # crates/goose/src/providers/formats/databricks.rs
aharvard
added a commit
that referenced
this pull request
Dec 17, 2025
* main: fix: we don't need to warn about tool count when in code mode (#6149) deps: upgrade agent-client-protocol to 0.9.0 (#6109) fix(providers): fix for gemini-cli on windows to work around cmd's multiline prompt limitations #5911 (#5966) More slash commands (#5858) fix: MCP UI not rendering due to CallToolResult structure change (#6143) fix: display shell output as static text instead of spinner (#6041) fix : Custom providers with empty API keys show as configured in desktop (#6105) Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139) fix: use instructions for system prompt and prompt for user message in subagents (#6121) Fix compaction loop for small models or large input (#5803) feat: Centralize theme management with ThemeContext (#6137) OpenRouter & Xai streaming (#5873) fix: resolve mcp-hermit cleanup path expansion issue (#5953) feat: add goose PR reviewer workflow (#6124) perf: Avoid repeated MCP queries during streaming responses (#6138) Fix YAML serialization for recipes with special characters (#5796) Add more posthog analytics (privacy aware) (#6122) docs: add Sugar MCP server to extensions registry (#6077)
dianed-square
added a commit
that referenced
this pull request
Dec 17, 2025
* origin/main: (57 commits) docs: create/edit recipe button (#6145) fix(google): Fix 400 Bad Request error with Gemini 3 thought signatures (#6035) fix: we don't need to warn about tool count when in code mode (#6149) deps: upgrade agent-client-protocol to 0.9.0 (#6109) fix(providers): fix for gemini-cli on windows to work around cmd's multiline prompt limitations #5911 (#5966) More slash commands (#5858) fix: MCP UI not rendering due to CallToolResult structure change (#6143) fix: display shell output as static text instead of spinner (#6041) fix : Custom providers with empty API keys show as configured in desktop (#6105) Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139) fix: use instructions for system prompt and prompt for user message in subagents (#6121) Fix compaction loop for small models or large input (#5803) feat: Centralize theme management with ThemeContext (#6137) OpenRouter & Xai streaming (#5873) fix: resolve mcp-hermit cleanup path expansion issue (#5953) feat: add goose PR reviewer workflow (#6124) perf: Avoid repeated MCP queries during streaming responses (#6138) Fix YAML serialization for recipes with special characters (#5796) Add more posthog analytics (privacy aware) (#6122) docs: add Sugar MCP server to extensions registry (#6077) ...
katzdave
added a commit
that referenced
this pull request
Dec 17, 2025
…icing * 'main' of github.com:block/goose: (35 commits) docs: skills (#6062) fix: add conditional configuration for GOOSE_BIN_DIR in PATH (#5940) Update dependencies to help in Fedora packaging (#5835) fix: make goose reviewer less bad (#6154) docs: create/edit recipe button (#6145) fix(google): Fix 400 Bad Request error with Gemini 3 thought signatures (#6035) fix: we don't need to warn about tool count when in code mode (#6149) deps: upgrade agent-client-protocol to 0.9.0 (#6109) fix(providers): fix for gemini-cli on windows to work around cmd's multiline prompt limitations #5911 (#5966) More slash commands (#5858) fix: MCP UI not rendering due to CallToolResult structure change (#6143) fix: display shell output as static text instead of spinner (#6041) fix : Custom providers with empty API keys show as configured in desktop (#6105) Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139) fix: use instructions for system prompt and prompt for user message in subagents (#6121) Fix compaction loop for small models or large input (#5803) feat: Centralize theme management with ThemeContext (#6137) OpenRouter & Xai streaming (#5873) fix: resolve mcp-hermit cleanup path expansion issue (#5953) feat: add goose PR reviewer workflow (#6124) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Shell command output (like device codes from
gh auth login) was being displayed as spinner messages, causing critical information to be hidden or lost. This fix extracts the notification type from MCP logging messages and printsshell_outputdirectly as static text, following the same pattern astask_executionnotifications.Type of Change
AI Assistance
Testing
Manual testing:
gh auth login- device code now displays correctly as static textAutomated testing:
cargo test --package goose-cli(101/101 passed)./scripts/clippy-lint.sh(clean, no new warnings)cargo fmt --check(passing)Changes:
crates/goose-cli/src/session/mod.rs(+16, -2 lines)typefield from MCP notifications (lines 1089-1093)shell_outputhandling to print directly without spinner (lines 1128-1138)Related Issues
Partial fix for #3196 - addresses shell output streaming during command execution. The original issue requests a hotkey to show full tool output; this fix ensures streaming output displays correctly in real-time.
Screenshots/Demos (for UX changes)
Before: Device code from
gh auth loginwas hidden in spinner animationAfter: Device code displays immediately as static text: